<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="./lib/react.development.js"></script>
    <script src="./lib/react-dom.development.js"></script>
    <!--  提供了一个对象，可以通过该对象来设置默认值，来限制类型   -->
    <script src="./lib/prop-types.js"></script>
    <script src="./lib/babel.min.js"></script>
</head>
<body>
<div id="root">

</div>

</body>
<script type="text/babel">
    // 可以限制传递参数的类型，也可以指定默认值
    const root = ReactDOM.createRoot(document.querySelector("#root"));
    const App = ()=>(
        <div>
            <h3>App</h3>
            <Child a={1} b={"abc"} sex={"男"} c={true} />
        </div>
    )
    const Child= props =>{
        return (
            <div>
                <h3>Child</h3>
                <p>a:{props.a}</p>
                <p>b:{props.b}</p>
                <p>c:{props.c}</p>
                <p>sex:{props.sex}</p>
            </div>
        )
    }
    // 接收的属性值的类型进行限制
    Child.propTypes = {
        a:PropTypes.number,// 接收的a的值必须是一个数字
        b:PropTypes.string,// 必须是一个字符串
        c:PropTypes.bool.isRequired,// 必须是一个布尔,且不允许省略
    }
    Child.defaultProps = {
        sex:"女"// 默认值
    }
    root.render(<App/>);
</script>
</html>